package com.wzy.tabviewpager;

import android.content.Context;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.wzy.tabviewpager.widget.TabPageIndicator;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    private TabPageIndicator mTabIndicator;
    private ViewPager mTabPager;
    private Context mContext = MainActivity.this;
    private ArrayList<String> mTexts = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {

        for (int i = 0; i < 10; i++) {
            mTexts.add("Fragment" + i);
        }
        mTabIndicator = (TabPageIndicator) findViewById(R.id.tab_indicator);
        mTabPager = (ViewPager) findViewById(R.id.tab_pager);

        mTabPager.setAdapter(
                new TabPagerAdapter(mContext, getSupportFragmentManager(), mTexts));
        mTabIndicator.setViewPager(mTabPager);
        mTabIndicator.setSmoothScrollWhenClickTab(true);  // 设置切换tab页是否有滑动动画
        mTabPager.setOffscreenPageLimit(2);
        mTabPager.setCurrentItem(0);
        setTabsStyle();
    }

    private void setTabsStyle() {

        // 设置Tab是自动填充满屏幕的
        mTabIndicator.setShouldExpand(true)
                .setDividerColor(getResources().getColor(R.color.color_80cbc4))// 设置Tab的分割线的颜色
                .setDividerPaddingTopBottom(12)// 设置分割线的上下的间距,传入的是dp
                .setUnderlineHeight(1)  // 设置Tab底部线的高度,传入的是dp
                .setUnderlineColor(getResources().getColor(R.color.color_1A000000))// 设置Tab底部线的颜色
                .setIndicatorHeight(4) // 设置Tab 指示器Indicator的高度,传入的是dp
                .setIndicatorColor(getResources().getColor(R.color.color_0babd1))// 设置Tab Indicator的颜色
                .setTextSize(12)// 设置Tab标题文字的大小,传入的是dp
                .setSelectedTextColor(getResources().getColor(R.color.color_0babd1))// 设置选中Tab文字的颜色
                .setTextColor(getResources().getColor(R.color.color_2b2b2b))// 设置正常Tab文字的颜色
                .setTabBackground(R.drawable.tab_background)// 设置点击Tab时的背景色
                .setFadeEnabled(true) // 是否支持动画渐变(颜色渐变和文字大小渐变)
                .setZoomMax(0.3F);// 设置最大缩放,是正常状态的0.3倍
    }
}
